/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.its.dsw2.biblioteca.bl;

import com.sun.xml.wss.saml.AuthorityBinding;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import mx.its.dsw2.biblioteca.dao.AutorDaoLocal;
import mx.its.dsw2.biblioteca.enumeraciones.EstadoTransaccion;
import mx.its.dsw2.biblioteca.modelo.Autor;

/**
 *
 * @author 100101
 */
@Stateless
public class AutorBl implements AutorBlLocal {
    @EJB //mandar llamar un objeto de un ejbean con el metodo de inyeccion de objetos.
    private AutorDaoLocal autorDao;
    //Este es otro comentario
    //objeto del dao lo crea el contenedor de EJB e inicializara la variable.

    @Override
    public EstadoTransaccion register(Autor author) {
        if(autorDao.findDuplicity(author)){
            return EstadoTransaccion.INCOMPLETO;
    }else{
    autorDao.create(author);
    return EstadoTransaccion.COMPLETO;
}
    }
    
    
    // Add business logic below. (Right-click in editor and choose
    // "Insert Code > Add Business Method")

    @Override
    public EstadoTransaccion modify(Autor author) {
        if(author.getId()==null || autorDao.find(author.getId())==null){
        return EstadoTransaccion.INCOMPLETO;
        }else{
            autorDao.edit(author);
            return EstadoTransaccion.COMPLETO;
        }
    }

    @Override
    public EstadoTransaccion remove(Autor author) {
         if(author.getId()==null || autorDao.find(author.getId())==null){
        return EstadoTransaccion.INCOMPLETO;
        }else{
            autorDao.remove(author);
            return EstadoTransaccion.COMPLETO;
        }
    }

   
    @Override
    public List<Autor> gettAll() {
        return autorDao.findAll();
    }

    @Override
    public Autor getAuthorById(int idAuthor) {
        return autorDao.find(idAuthor);
    }

    
   

}
